Cryptographic engines, (hereinafter crypto-engines) are used to transform un-encrypted data, also known as Plain-text into encrypted data, or Cipher-text to secure voice and data transmissions from digital communications devices, such as a satellite user terminal. A crypto-engine typically applies a key to the data to modify the data so that it cannot be translated back to plain-text without the same key. There are a variety of cryptographic algorithms that provide a key for encrypting data for security purposes.
There are several cryptologic modes that can be used depending on a specific application. For example, one type of cryptologic mode is used for changing from voice service to data. Another type is used for physical compromise, or operational doctrine change. Typical crypto-engines are limited to a single mode. A single mode crypto-engine 100 is shown in block form in FIG. 1. In the event a change in the cryptologic mode is required, a user must terminate operations, and physically reconfigure the internal components of the cryptographic engine for the newly desired mode. Currently, there is a need for a cryptographic engine that is capable of handling multiple modes of operation without excessive change over requirements.